package com.itheima.socket.tcp.demo05;

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * TCP服务端的代码实现
 */
public class ServerDemo01 {

    public static void main(String[] args) throws IOException {

        // 1. 创建ServerSocket对象
        ServerSocket serverSocket = new ServerSocket(8080) ;

        // 2. 调用accept这个方法获取客户端的连接(监听客户端)
        Socket accept = serverSocket.accept();
        System.out.println("连接已经建立了........");

        // 3. 获取输入流对象
        InputStream inputStream = accept.getInputStream();

        // 4. 读取数据
        byte[] bytes = new byte[1024] ;
        System.out.println("要开始读取数据了...........");

        /**
         * 是客户端并未发送数据到服务端，服务端在尝试读取从客户端传递过来的数据，因为客户端从未发送数据给服务端，
         * 所以服务端一直在阻塞。
         */
        int len = inputStream.read(bytes);
        System.out.println("读取到数据了...........");
        System.out.println(new String(bytes , 0 , len , "UTF-8"));

        // 5. 释放资源
        accept.close();
        serverSocket.close();

    }


}
